package com.zcily.demo.service;

import com.zcily.demo.entity.vo.StorageObject;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.TimeUnit;

public interface MinIOService {

    /**
     * 判断bucket是否存在，不存在则创建
     */
    boolean existBucket(String bucketName);

    /**
     * 删除bucket
     */
    Boolean removeBucket(String bucketName);

    /**
     * 上传文件
     */
    StorageObject upload(MultipartFile file);

    /**
     * 获取文件访问地址（有过期时间）
     */
    String getExpireFileUrl(String fileName, int time, TimeUnit timeUnit);

    /**
     * 获取文件访问地址
     */
    String getFileUrl(String fileName);

    /**
     * 下载文件
     */
    void download(HttpServletResponse response, String fileName);

    /**
     * 删除文件
     */
    void delete(String fileName);
}

